package com.scs.application.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;
/**
 * <p>
 *
 * </p>
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "打印机表")
@TableName("sys_printer")
public class Printer extends DataEntity {
    @EntityFieldAnnotation(
            text = "打印机名称",
            length = "100",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String name;

    @EntityFieldAnnotation(
            text = "访问地址",
            length = "200",
            not_null = true,
            default_value = "",
            comment = "打印机访问地址"
    )
    private String url;

    @EntityFieldAnnotation(
            text = "端口",
            length = "4",
            not_null = true,
            type= EntityFieldType.INT,
            default_value = "",
            comment = "打印机端口"
    )
    private int port;

    @EntityFieldAnnotation(
            text = "读写超时时间(秒)",
            length = "4",
            not_null = true,
            type= EntityFieldType.INT,
            default_value = "5",
            comment = "发送和读取数据的最大等待时间"
    )
    private int waittime;


    @EntityFieldAnnotation(
            text = "指令模板",
            type= EntityFieldType.TEXT,
            not_null = false,
            default_value = "",
            comment = "打印模板指令"
    )
    private String labelCode;


    @EntityFieldAnnotation(
            text = "打印机类型标识",
            not_null = true,
            length = "20",
            default_value = "",
            comment = "打印机类型标识"
    )
    private String typeKey;

    @EntityFieldAnnotation(
            text = "打印机类型名称",
            not_null = true,
            length = "200",
            default_value = "",
            comment = "打印机类型名称"
    )
    private String typeName;

    @EntityFieldAnnotation(
            text = "打印机位置",
            length = "200",
            not_null = false,
            default_value = "",
            comment = "打印机位置"
    )
    private String location;

    @EntityFieldAnnotation(
            text = "备注",
            length = "255",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remark;

    @EntityFieldAnnotation(
            text = "工位Id",
            type= EntityFieldType.LONG,
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String warehouseId;

    @EntityFieldAnnotation(
            text = "单页样式",
            length = "200",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String stylePage;
    @EntityFieldAnnotation(
            text = "起始符号",
            length = "4",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String startSymbol;

    @EntityFieldAnnotation(
            text = "有效长度",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Integer effectiveLength;

    @EntityFieldAnnotation(
            text = "是否校验",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Boolean validateFlag;
}
